Structuring Apache Spark 2.0: Sql, Dataframes, Datasets And Streaming - By Michael Armbrust